package fir.util;


public abstract class AnaliseImpacto {
/*
	public static void atualizarImpactadores(Regra regra, Regra teste) {
		if (teste.getInformacoesConsumidas() != null
				&& !teste.getInformacoesConsumidas().isEmpty()) {
			for (Informacao informacaoConsumida : teste
					.getInformacoesConsumidas()) {
				if(informacaoConsumida.getRegraProdutora() != null){
					if(!informacaoConsumida.getRegraProdutora().getImpactos().contains(regra))
						informacaoConsumida.getRegraProdutora().getImpactos().add(regra);
						
					if(!informacaoConsumida.getRegraProdutora().getImpactos().containsAll(regra.getImpactos()))
						informacaoConsumida.getRegraProdutora().getImpactos().addAll(regra.getImpactos());
					//System.out
					//		.println("AnaliseImpacto.atualizarImpactadores()");
					atualizarImpactadores(regra,informacaoConsumida.getRegraProdutora());
				}
			}
		}
	}
	
	public static void removerImpactados(Regra regra, Regra teste, boolean produtores) {
		if (teste.getInformacoesConsumidas() != null
				&& !teste.getInformacoesConsumidas().isEmpty()) {
			for (Informacao informacaoConsumida : teste
					.getInformacoesConsumidas()) {
				if(informacaoConsumida.getRegraProdutora() != null && informacaoConsumida.getRegraProdutora().getImpactos().contains(regra)){
					if(produtores){
						informacaoConsumida.getRegraProdutora().getImpactos().removeAll(regra.getImpactos());
					}else{
						informacaoConsumida.getRegraProdutora().getImpactos().removeAll(regra.getImpactos());
						informacaoConsumida.getRegraProdutora().getImpactos().remove(regra);
					}
					System.out.println("AnaliseImpacto.removerImpactados()");
					atualizarImpactadores(regra,informacaoConsumida.getRegraProdutora());
				}
			}
			if(produtores){
				regra.getImpactos().removeAll(regra.getImpactos());
			}
		}
	}
	
	public static void analisarImpacto(Regra regra, Informacao informacao){
		for (linkInformacaoRegra informacaoRegra : informacao.getRegrasConsumidoras()) {
			if(!regra.getImpactos().contains(informacaoRegra.getTarget()))
				regra.getImpactos().add(informacaoRegra.getTarget());
			
			
			if(!regra.getImpactos().containsAll(informacaoRegra.getTarget().getImpactos()))
				regra.getImpactos().addAll(informacaoRegra.getTarget().getImpactos());
		}
		AnaliseImpacto.atualizarImpactadores(regra, regra);
	}
*/
}
